package bszt.xiecheng;

import java.util.Scanner;

public class Code02 {

    /**
     * A先生有一个很长的数字串，他希望从中截取一段长度为k的子串（可以包含前导零），使得截取出的这个数尽可能大
     * 你能帮帮A先生找出这个最大的数吗？为了避免数字太大，你只需要输出这个数模p的值
     * <p></p>
     * 输入格式
     * 第一行输入一个字符串，表示A先生的数字串
     * 第二行输入两个正整数k和p，用空格隔开
     * <p></p>
     * 输出格式
     * 输出一个整数，表示最大数模p的值
     */

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.next();
        int k = sc.nextInt();
        int p = sc.nextInt();
        String cur = str.substring(0, k);
        int n = str.length();
        for (int i = k; i < n; i++) {
            String t = str.substring(i - k + 1, i + 1);
            if (t.compareTo(cur) > 0) {
                cur = t;
            }
        }
        // 高精度取模
        long sum = 0;
        for (int i = 0; i < k; i++) {
            sum = (sum * 10 + (cur.charAt(i) - '0')) % p;
        }

        System.out.println(sum);
    }
}
